1. Field of the Invention
This invention relates generally to multiple memory array devices and particularly to those utilizing arrays of memories storing and retrieving field organized data.
2. Description of the Related Art
Early video systems serving multiple viewers were, in essence, continuously running "play" systems in which viewers received the program material on television receivers in accordance with the video providers established schedule. The program material was typically stored upon video tape or some other similar storage medium and was simply played across the system.
With the development of large capacity randomly accessible memory systems such as disk drive memories, so-called video-on-demand systems became realizable. In video-on-demand systems, a substantial improvement was provided in that each viewer became able to receive individually selected program material to be played at the viewer's chosen time. Systems for providing video-on-demand are generally referred to as video servers and typically include large arrays of disk drive memories operative under the control of one or more disk controllers.
As the capabilities of video servers have improved, it has become possible to provide improved video-on-demand systems which are viewer accessible. This quality of viewer accessibility allows the viewer to control not only the selected time of program material play but also facilitates functions such as "fast forward", "reverse", "slow speed" and "freeze frame". While providing such viewer access and control is extremely desirable to the viewer, it often creates problems for the video server due in part to the nature of television program information and the operational characteristics of multiple disk drive memory systems.
Program material provided for television viewing must of necessity be formatted in accordance with television display operation. For the most part, television program material represents a combination of several different forms of data such as video data, audio data, and various synchronizing information such as time code data. For proper display and use, the several forms of data within program material must be organized in accordance with a television field rate format.
In multiple disk drive video servers, data is stored on various disk drives within the system as portions of the different data types. For correct play upon the viewer's television receiver, the data for each field of program material must be retrieved from the various disk drive memories and provided to the viewer as an appropriately timed series of complete data fields. In essence, each data field comprising the various types of data must be assembled as a complete data field within the video server prior to its output to the viewer.
Television program material, due to its field organization and different data types, represents an excellent example of an environment within which the present invention is advantageous. However, it will be apparent from the description below that other environments using different data formats may benefit from the present invention as well. For example, many other forms of data such as computer text and graphics information are often transferred in a field organized format and often include different types of data components.
Unlike early systems using tape memories in which the different types of data for each successive data field is maintained in proper timing and association by physical location upon the tape, systems using complex memories such as multiple disk drive arrays must accomplish the retrieval of each type of data from the various system disk drives and construct or assemble each data field in time for its output in accordance with the program material field sequence. Because different types of data within a given field of data are retrieved and moved through the system at different speeds, direct transfer from the memory array to the output system is not practical. Thus, in a practical system, successive fields of data are usually assembled in a field queue to provide time for the formation of an appropriate sequence of completed data fields. Thereafter, the data fields are progressively outputted from the field queue to the system output for the user.
In most systems, the use of a data queue allows the succession of data fields to be completed and assembled in time for output so long as the system operates in a normal play mode. In the event, however, that the viewer demands a change of program material flow such as fast forward or reverse, the differing retrieval rates and transfer rates of the various data types cause data of different types to slip or be displaced relative to each other as the system attempts to rapidly alter the field sequence and assemble the succession of data fields within the field queue. As a result, the different types of data are not reliably added to the correct field and the data types within the data fields become "scrambled" and are no longer synchronized. This, is in turn, results in a series of incomplete or incorrect fields of data being progressively moved through the data queue to the display system.
Once the viewer returns the system to a normal play or viewing rate following a different mode such as fast forward, the viewer expects to observe a properly displayed program. However, the series of incomplete or improperly synchronized data fields within the data queue cannot be corrected in time for display. The result is the display of an interval of scrambled program material as the system struggles to restore synchronized data output. Similar problems are encountered in response to viewer demands for other changes of server operation which disturb the normal play sequence such as slow-speed or freeze-frame. The often lengthy interval of scrambled program material provided to the viewer as the system attempts to restore data synchronization following a rate change has been found to be extremely objectionable. In many instances, it significantly diminishes the viewer's enjoyment of the program material and reduces the appeal of interactive access.
The above-described problems of data synchronization within field organized data systems are not confined to the data output process of memory array systems such as video servers described above. On the contrary, the opposite process of inputting field organized data such as television program material into a multiple memory array for storage encounters similar data synchronization problems. Because data such as program material or other field organized data is typically not supplied to the memory array system at a steady field rate, fields of data are usually assembled in data queues within the input channels of memory arrays in a similar process to that utilized in the various output channels. In fact, the input channels of systems using such memory arrays often receive intermittent high-rate bursts of data separated in time. This necessitates the organization and accumulation of field rate data within the input data queues of the system. As with the data output process, input data is subject to different transfer and accumulation speeds within the system. As a result, the above-described problems of loss of data synchronization or slip between different data types occurs and causes corresponding problems for the input channels of the memory array. Consequently, systems which process field organized data such as video servers or the like often encounter data synchronization problems during the data input or storage process as well as the data retrieval or output process.
In view of the overwhelming desire in the art to provide interactive viewer access to data systems such as video servers, there arises a continuing need in the art for improved data systems which maintain proper data synchronization of multiple-type field-organized data despite field rate changes. A particularly acute need exists in the art of video servers for systems which are able to maintain the display of properly synchronized data to the viewer following field rate changes and reversals.